<?php
class RolesView extends CustomView
{

    public function listarRoles($vars = array())
    {
        $this->top();
        $this->setTemplate('ver');
        $vars['pagination'] = $this->buildPagination($vars['pagination_link'], $vars['roles']);
        $this->parse('ver', $vars);
        {
            if (!empty($vars['roles']['results']))
            {
                foreach ($vars['roles']['results'] as $rol)
                {
                    $this->parse('rol', $rol);
                }
            }
            else
            {
                $this->parse('sin_resultados');
            }
        }
        $this->parse('ver', $vars);
        $this->bottom();
    }

    public function crearRol($vars)
    {
        $this->top();
        $this->setTemplate('nuevo');
        $this->parse('nuevo', $vars);
        // Acciones permitidas
        {
            if (!empty($vars['acciones_rol_permitidas']))
            {
                foreach ($vars['acciones_rol_permitidas'] as $accion)
                {
                    if ($accion['visibilidad'] == STATUS_ONLINE)
                    {
                        if (!empty($accion['permiso_default']))
                        {
                            $accion['visible_class'] = 'permitted_default';
                        }
                        $this->parse('acciones_rol_permitidas', $accion);
                    }
                }
            }
        }
        $this->parse('nuevo', $vars);
        // Acciones no permitidas
        {
            if (!empty($vars['acciones_rol_no_permitidas']))
            {
                foreach ($vars['acciones_rol_no_permitidas'] as $accion)
                {
                    if ($accion['visibilidad'] == STATUS_ONLINE)
                    {
                        if (!empty($accion['permiso_default']))
                        {
                            $accion['visible_class'] = 'permitted_default';
                        }
                        $this->parse('acciones_rol_no_permitidas', $accion);
                    }
                }
            }
        }
        $this->parse('nuevo', $vars);
        // Acciones sistema
        {
            if (!empty($vars['acciones_sistema']))
            {
                foreach ($vars['acciones_sistema'] as $accion)
                {
                    if ($accion['visibilidad'] == STATUS_ONLINE)
                    {
                        if (!empty($accion['permiso_default']))
                        {
                            $accion['visible_class'] = 'permitted_default';
                        }
                        $this->parse('acciones_sistema', $accion);
                    }
                }
            }
        }
        $this->parse('nuevo', $vars);
        $this->bottom();
    }

    public function editarRol($vars)
    {
        $this->top();
        $this->setTemplate('editar');
        $this->parse('editar', $vars);
        // Acciones permitidas
        {
            if (!empty($vars['acciones_rol_permitidas']))
            {
                foreach ($vars['acciones_rol_permitidas'] as $accion)
                {
                    if ($accion['visibilidad'] == STATUS_ONLINE)
                    {
                        if (!empty($accion['permiso_default']))
                        {
                            $accion['visible_class'] = 'permitted_default';
                        }
                        $this->parse('acciones_rol_permitidas', $accion);
                    }
                }
            }
        }
        $this->parse('editar', $vars);
        // Acciones no permitidas
        {
            if (!empty($vars['acciones_rol_no_permitidas']))
            {
                foreach ($vars['acciones_rol_no_permitidas'] as $accion)
                {
                    if ($accion['visibilidad'] == STATUS_ONLINE)
                    {
                        if (!empty($accion['permiso_default']))
                        {
                            $accion['visible_class'] = 'permitted_default';
                        }
                        $this->parse('acciones_rol_no_permitidas', $accion);
                    }
                }
            }
        }
        $this->parse('editar', $vars);
        // Acciones sistema
        {
            if (!empty($vars['acciones_sistema']))
            {
                foreach ($vars['acciones_sistema'] as $accion)
                {
                    if ($accion['visibilidad'] == STATUS_ONLINE)
                    {
                        if (!empty($accion['permiso_default']))
                        {
                            $accion['visible_class'] = 'permitted_default';
                        }
                        $this->parse('acciones_sistema', $accion);
                    }
                }
            }
        }
        $this->parse('editar', $vars);
        $this->bottom();
    }

    public function listarUsuarios($vars = array())
    {
        $this->top();
        $this->setTemplate('usuarios');
        $vars['pagination'] = $this->buildPagination($vars['pagination_link'], $vars['usuarios']);
        $this->parse('usuarios', $vars);
        {
            if (!empty($vars['roles']))
            {
                foreach ($vars['roles'] as $rol)
                {
                    $this->parse('rol', $rol);
                }
            }
        }
        $this->parse('usuarios', $vars);
        {
            if (!empty($vars['usuarios']['results']))
            {
                foreach ($vars['usuarios']['results'] as $usuario)
                {
                    if (empty($usuario['nombre_rol']))
                    {
                        $usuario['nombre_rol'] = 'Sin Rol Asignado';
                    }
                    $this->parse('usuario', $usuario);
                }
            }
        }
        $this->parse('usuarios', $vars);
        $this->bottom();
    }

}
?>